package springstudy.web.servlet;

import javax.servlet.AsyncContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 这里需要继承HttpServlet是Servlet3.0的规范
 * 默认的是不支持异步操作的，需要开启
 * */


@WebServlet(urlPatterns = "/my/servlet",asyncSupported = true)
public class MyServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//获取异步上下文
		AsyncContext asyncContext = req.startAsync();
		asyncContext.start(()->{
			try {
				resp.getWriter().println("hello world");
				asyncContext.complete();
			}catch (IOException e){
				e.printStackTrace();
			}
		});
		//触发完成
	}
}
